iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
Software Development

軟體架構備忘錄系列 第 18

Day 18 網路架構 - 網路設備 (知識點090~094)

  • 分享至 

  • xImage
  •  

思考的問題

需要那些設備以連接到網路?

網路是現今架構中不可或缺的元素,而架設網路需要那些基本的設備呢?
常見的元素包含:Hub、Switch、Router、Modem、Load balancer


Hub

描述

Hub (集線器) 讓區域網路中的多台設備可以互相溝通,其工作原理十分單純,只要收到任何一個封包都會廣播連接到同一Hub的其他電腦。但是由於一次只可以傳輸一個設備的封包,因此除非只有要連接少數設備,否則已經較少使用。

優點

  • 價格低廉:由於工作原理單純,因此設備價格較低
  • 設定單純:無須在Hub上進行任何設定,只要各台設備的IP沒有衝突即可互相溝通。

缺點

  • 無法同時連接太多設備:由於其固定廣播特性,容易造成封包碰撞,同時只有辦法傳輸一個封包。
  • 安全性較低:由於固定廣播封包,其他設備都會收到封包內容,因此未經授權者可用此方式監聽封包內容。

Switch

描述

Switch (交換機) 類似於Hub可以讓區域網路中的多台設備互相傳輸封包,但是由於其會記錄各端口的MAC編號於內部的MAC表,因此可精確傳替封包給目標設備。

功能

  • 轉傳封包:使用MAC表精確傳遞封包給目標設備
  • 廣播尋找MAC位置:若是不認識的MAC,透過廣播尋找設備。
  • 維護MAC表:尋找到MAC對應設備或該端口MAC變更或關閉,則異動MAC表內容。
  • 提供介面調整設定:提供介面供管理者手動調整MAC表或設定子網路對應的端口

使用情境

  • 需在區域網路中,供多台設備互相傳輸封包

優點

  • 網路流量小:使用MAC表精準傳輸封包到目標設備,封包數量較低,減少流量。
  • 同時可連接多數量設備:因為沒有封包衝突的問題,故可以同時供多台設備交換資料。
  • 安全性高:不會把封包傳遞給非目標的對象,減少被監聽的風險。

缺點

  • 價格較高:相較於Hub,由於其結構較複雜,價格較高
  • 使用較複雜:需要依需求管理網路分割、MAC表
  • 單點故障:如果鏈接的單一Switch發生故障,會導致相關設備無法聯網。此問題可透過負載均衡等方式解決。

Router

描述

Router (路由器) 是一種網路裝置,具有路由表,用於記錄不同IP範圍應該通過哪個連接埠轉發到哪個裝置。當收到網路封包時,路由器根據路由表中的規則進行轉發。

使用情境

  • 區隔內部與外部網路:通過使用路由表、網路地址轉換(NAT)等功能,將內部網路連線到外部網路,實現內部網路與外部網路的通訊。
  • 區隔不同子網:路由器常用於劃分子網,並根據規則將封包轉發到對應的交換機(Switch),從而實現不同子網之間的通訊。
  • 整合NAT、VPN、防火牆等功能:現代的路由器通常整合了多種高級功能,如網路地址轉換(NAT)、虛擬私人網路(VPN)和防火牆。這樣可以簡化網路架構,減少所需裝置數量。但是這種方式的彈性與可用性較低,在大型企業網路中,通常各功能會有獨立的設備。

優點

  • 分割子網路:通過路由器分割子網,可以增加網路的安全性,並提高小型子網之間的通訊效率。

缺點

  • 成本較高:與交換機(Switch)和集線器(Hub)相比,路由器的價格較高,特別是帶有網路地址轉換(NAT)、防火牆等高級功能的路由器。
  • 管理複雜:管理路由器的路由表和其他組態可能較為複雜,需要考慮多個因素。在大型網路中,需要專業知識和經驗來規劃和管理路由器。
  • 單一性能瓶頸:由於路由器需要處理內部和外部網路之間的大量網路流量,可能會對單個路由器的性能造成限制。建議通過負載平衡等策略來提高網路性能。

Modem

描述

Modem (數據機) 用於將ISP提供的類比訊號與內部網路的數位網路訊號進行雙向轉換。ISP的網路訊號可以是光纖、電話訊號(DSL)、有線電視訊號(Cable)等不同種類的訊號,因此需要使用相應種類的數據機進行相互轉換。數據機還可以執行封包完整性驗證、資料壓縮等功能。部分高級數據機還具有兼容多種外部訊號或兼具路由器功能的特點。

使用情境

  • 需要將個人電腦或內部網路連接到外部網路

Load balancer

描述

Load balancer (負載平衡器) 平均分配流量到到多個伺服器,以避免單一伺服器的負載過大。
有硬體也有軟體形式的負載平衡器,軟體形式的負載平衡器通常同時身兼反向代理的工作。

使用情境

  • 網路流量大:避免流量過大時,單一伺服器無法容納需求。
  • 平均分配流量:平均分配流量,避免單一伺服器的負載過大。
  • 動態擴增伺服器:若需求過大時,可動態增加服務的伺服器以增加可用性。
  • 提高容錯能力:針對伺服器回覆情況判斷健康程度,也可以設定定時呼叫後端伺服器進行健康檢查。若判斷伺服器健康狀況不佳,則停止連線該伺服器,減少錯誤發生的情況。

負載平衡邏輯

有多種決定呼叫哪一個後端伺服器的演算法

  • 隨機呼叫後端
  • Round robin: 輪流呼叫後端
  • 依據負載程度:呼叫較不忙的後端
  • 保持使用狀態:以Session或Cockie進行判斷,以便於保持使用者的使用狀態
  • 依Request內容判斷:使用URL、Header或parameter進行判斷

上一篇
Day 17 程式架構 - 網頁應用程式安全 (知識點085~089)
下一篇
Day 19 網路架構 - 連接方式 (知識點095~098)
系列文
軟體架構備忘錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言